From: Keir Fraser Date: Thu, 8 Jul 2010 08:46:09 +0000 (+0100) Subject: rombios: wait 30s after a failed boot X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~11831 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=b825e251d26688e4843668a555221d4fbf1f114d;p=xen.git rombios: wait 30s after a failed boot Prevents waiting forever for a keypress that may never come if boot is unattended. Signed-off-by: Tim Deegan --- diff --git a/tools/firmware/rombios/rombios.c b/tools/firmware/rombios/rombios.c index a73572399d..3de72cf9d1 100644 --- a/tools/firmware/rombios/rombios.c +++ b/tools/firmware/rombios/rombios.c @@ -8243,24 +8243,15 @@ Bit16u seq_nr; write_word(ebda_seg, IPL_SEQUENCE_OFFSET, 0xFFFF); } else if (bootdev == 0) { printf("\nNo bootable device.\n"); - printf("Reboot or press any key to retry."); - write_word(ebda_seg, IPL_SEQUENCE_OFFSET, 0xFFFF); + printf("Powering off in 30 seconds.\n"); ASM_START sti + mov cx, #0x01c9 + mov dx, #0xc380 + mov ah, #0x86 ;; INT 15/86: wait CX:DX usec. + int #0x15 ASM_END - { - Bit8u sc, ac; - while(!dequeue_key(&sc, &ac, 1)) { -ASM_START - hlt -ASM_END - } - } -ASM_START - cli -ASM_END - printf("\n\n"); - return; + bios_printf(BIOS_PRINTF_HALT, ""); } /* Translate from CMOS runes to an IPL table offset by subtracting 1 */